package com.lzc.mis.lab.controller;

import com.lzc.mis.lab.entity.LabType;
import com.lzc.mis.lab.service.ITypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author <l_haha@outlook.com>
 * @version 1.0.0
 * @ClassName com.lzc.mis.web.controller.lab.controller.TypeController.java
 * @createTime 2021 09 22
 * @Description TODO
 */

/**
 * (LabType)表控制层
 */
@RestController
@RequestMapping("type")
public class TypeController {
    /**
     * 服务对象
     */
    @Autowired
    private ITypeService typeService;

    /**
     * 分页查询
     *
     * @param labType 筛选条件
     * @return 查询结果
     */
    @GetMapping("/list")
    public List<LabType> list(LabType labType) {
        return this.typeService.queryAll(labType);
    }

    /**
     * 通过主键查询单条数据
     *
     * @param typeId 主键
     * @return 单条数据
     */
    @GetMapping("{typeId}")
    public LabType getById(@PathVariable("typeId") Integer typeId) {
        return this.typeService.queryById(typeId);
    }

    /**
     * 新增数据
     *
     * @param labType 实体
     * @return 新增结果
     */
    @PostMapping
    public String add(@RequestBody LabType labType) {
        this.typeService.insert(labType);
        return "ok";
    }

    /**
     * 编辑数据
     * @param labType 实体
     * @return 编辑结果
     */
    @PutMapping
    public String edit(@RequestBody LabType labType) {
        this.typeService.update(labType);
        return "ok";
    }

    /**
     * 删除数据
     *
     * @param typeId 主键
     * @return 删除是否成功
     */
    @DeleteMapping("/delete/{typeId}")
    public Boolean deleteById(@PathVariable Integer typeId) {
        return this.typeService.deleteById(typeId);
    }
}
